/*
输入两个已经按从小到大顺序排列好的字符串，编写一个合并两个字符串的函数，使合并后的字符串，仍然是从小到大排列。

输入：
两个已经排好顺序（升序）的两个字符串

输出：
一个合并在一起的有序（升序）的字符串

要求：
设计一个效率尽量高的算法，对每个字符串只扫描一遍就可以了。
如果采用先进行串连接，然后再进行排序的算法，则效率太低了。
*/

/*
测试用例1:
输入：
abcdef
bcefghi
输出：
abbccdeeffghi↵

测试用例2:
输入：
123456
789
输出：
123456789↵

测试用例3:
输入：
789
12345
输出：
12345789↵

测试用例4:
输入：
123456
123456
输出：
112233445566↵

测试用例5:
输入：
123456
↵
输出：
123456↵

测试用例6:
输入：
↵
123456↵
输出：
123456↵

*/
#include <iostream>
#include <string>
using namespace std;

int main(int argc, char *argv[]) {
	
	// 输入字符串
	string str1, str2;
	getline(cin, str1);
	getline(cin, str2);
	
	// 遍历两个字符串
	int i=0, j=0;
	for (; i < str1.size() && j < str2.size();)
	{
		if (str1[i] < str2[j])
		{
			cout << str1[i++];
		}
		else {
			cout << str2[j++];
		}
	}
	
	// 打印剩余部分
	for (;i < str1.size(); i++)
	{
		cout << str1[i];
	}
	
	for (;j < str2.size(); j++)
	{
		cout << str2[j];
	}
	cout << endl;
	
}